In a communication network of packet type, such as an IP (Internet Protocol) network for example, the transmission of multimedia data streams, taking the form of multimedia data packets, between a sender terminal emitting a multimedia data stream and one or more receiver terminals may be impaired in the event of malfunction of equipment belonging to the network (such as routers), of disruption of transmission, etc. This impairment is manifested by the loss of one or more multimedia data packets exchanged between the sender terminal and the receiver terminal, which loss gives rise to a degradation in the quality of service.
A mechanism is known for correcting errors occurring during the transmission of multimedia data packets, which regenerates at the level of the receiver terminal lost multimedia data packets with the aid of correction data packets. This is the so-called error correction or Forward Error Correction (FEC) technique. An exemplary implementation of such a technique is defined in the document Code of Practise #3 release 2 from the Pro MPEG (Moving Picture Experts Group) Forum.
Such a mechanism is used in particular when the receiver terminal has no return pathway for communication with the sender terminal. Indeed, in this case the use of a retransmission protocol such as the TCP/IP (Transmission Control Protocol/Internet Protocol) or RTP/RTCP (Real-time Transport Protocol/Real-time Transport Control Protocol) protocols is impossible.
Indeed, in such a configuration the receiver terminal cannot inform the sender terminal of the non-receipt of certain multimedia data packets, thus prohibiting any resending of the lost packets. Such is the case with streams of multimedia data packets broadcast to a plurality of receiver terminals able to receive them, an example may be DTT (Digital Terrestrial Television) streams.
A scheme based on error correcting codes such as the one proposed by the Pro MPEG Forum consists, at the sender terminal level, in creating a transmission errors correction matrix. The multimedia data packets are placed in the correction matrix as they are generated, each multimedia data packet being identified by a sequence number stored in its RTP header. Two multimedia data packets generated consecutively, and therefore adjacent in the correction matrix, are identified by two consecutive sequence numbers.
Once the correction matrix has been completed, correction data packets are generated on the basis of groups of multimedia data packets. Such groups correspond, for example, to multimedia data packets constituting rows or columns of the correction matrix.
The correction data packets thus generated form a redundancy of the data of the multimedia data packets constituting the groups of multimedia data packets on the basis of which they are generated.
Such correction data packets also comprise information making it possible to reconstruct the correction matrix at the level of the receiver terminal.
The multimedia data packets and the correction data packets are thereafter sent to the receiver terminal or terminals. These two types of data packets form the subject of different data streams so as to allow receiver terminals which are not able to implement this error corrector based scheme to be able nevertheless to utilize the stream of multimedia data packets.
It is therefore necessary to reserve additional bandwidth so as to ensure the forwarding of the correction data packets, the stream of these packets generating an overhead.
Such an overhead is fixed as a function of the size of the correction matrix. The overhead engendered by the stream of correction data packets is defined by the ratio between the number of multimedia data packets constituting the correction matrix and the correction data packets associated with this same correction matrix. The dimensions of the correction matrix being fixed, the value of the overhead is constant.
On receipt of the multimedia data packets and correction data packets, the receiver terminal reconstructs the correction matrix. Each multimedia data packet received is placed in the correction matrix thus reconstructed at the location which it had in the original correction matrix by means of its sequence number and of additional information contained in the correction data packets.
The loss of a multimedia data packet is manifested in the reconstructed correction matrix by an empty location just where the lost multimedia data packet ought to be situated. The lost multimedia data packet is reconstructed with the aid of one or more correction data packets corresponding to the row and/or the column of the original correction matrix to which the lost multimedia data packet belongs.
Such a scheme applies mainly to constant rate or CBR (Constant Bit Rate) streams of multimedia data packets. The multimedia data packet stream rate being constant, the dimensions of the correction matrix, which are defined as a function of this rate, are constant, the correction matrix is consequently a matrix of fixed size. In an indicative case such as this, the duration necessary to generate the correction data packets, which duration corresponds to the duration necessary to complete the correction matrix, and to carry out the correction of the multimedia data packet stream received by the receiver terminal, is constant. Likewise, the latency introduced by the application of this scheme to correct a multimedia data stream is constant. The maximum number of lost multimedia data packets exhibiting consecutive sequence numbers which can be corrected by applying this scheme is also constant.
When the scheme based on error correcting codes is applied to non-constant rate or VBR (Variable Bit Rate) multimedia data streams, the dimensions of the correction matrix are determined as a function of the mean rate of the multimedia data packet stream for example. The dimensions of the correction matrix then remain fixed until the end of transmission of the stream of multimedia data packets. Likewise, the value of the overhead engendered by the stream of correction data packets is constant.
When the multimedia data packet stream rate varies, the correction matrix is, in most cases, either under-dimensioned or overdimensioned with respect to the actual value of the multimedia data packet stream rate.
In the indicative case where the correction matrix is under-dimensioned with respect to the multimedia data packet stream rate, the number of rows of the matrix is less than the maximum number of consecutively generated multimedia data packets which must be able to be corrected for such a multimedia data packet stream rate. Thus when a number of multimedia data packets is equal to the maximum number of consecutively generated multimedia data packets that can be corrected, these multimedia data packets occupy more than one row of the correction matrix. If all these multimedia data packets are lost during transmission, as they occupy more than one row of the correction matrix, certain columns of the correction matrix exhibit more than one empty location. It then becomes impossible for these columns to regenerate the lost multimedia data packets with the aid of the correction data packets.
This gives rise to a loss of effectiveness of the correction applied with a view to regenerating the multimedia data packets lost during transmission since it is not possible to regenerate them all.
In the indicative case where the correction matrix is over-dimensioned with respect to the multimedia data packet stream rate, the duration of filling of a matrix is longer than if the dimensions of the correction matrix were tailored to the multimedia data packet stream rate. Thus the time needed for the application of the scheme based on error corrector codes is, in most cases, much longer with an overdimensioned matrix than with a matrix tailored to the multimedia data packet stream rate.
This increase in the time needed for the application of the scheme based on error corrector codes is incompatible with the quality of service requirements of services for broadcasting audiovisual data streams, such as the time interval needed by a user receiving the streams of multimedia data packets to switch from one stream to another.
Thus, it is apparent that the application of the scheme based on error correcting codes to a multimedia data stream with non-constant rate gives rise to loss of effectiveness of correction and an increase in the processing time intervals which are prejudicial to the quality of the service delivered to the users receiving the streams of multimedia data packets. Such drawbacks make the use of this scheme unsuitable for correcting multimedia data packet streams at non-constant rate.
With multimedia data packet stream broadcasting at non-constant rate tending to expand, there consequently exists a growing requirement among telecommunications operators for a scheme based on error correcting codes allowing the processing of multimedia data streams at non-constant rate which does not exhibit such drawbacks.